package com.app.sgd.model.bean;

import java.io.Serializable;
import java.util.ArrayList;

import com.app.sgd.util.Constants;

public class Documento implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -563370268660735753L;
	private String indiceDocumento;
	private boolean usrTecnico;

	private ArrayList lstOrigenDocumento = new ArrayList();
	private ArrayList lstDestinoDocumento = new ArrayList();
	private ArrayList lstDestinosEliminados = new ArrayList();
	private ArrayList lstDocumentosVinculados = new ArrayList();
	private ArrayList lstDocumentosAdjuntos = new ArrayList();
	
	private String codDocumento = "0"           ;
	private String codSeguimiento = "0"         ;
	private String codOfiElabDoc = ""          ;
	private String codEmpElabDoc = ""          ;
	private String codMovimiento = ""          ;
	private String descMovimiento = ""         ;
	private String descCortaMovimiento = ""    ;
	private String descCortaTipoDocumento = "" ;
	private String de = ""                     ;
	private String para = ""                   ;
	private String cargoEmisor = ""            ;
	private String nombreEmpresa = ""          ;
	private String asunto = ""                 ;
	private String fechaVencimiento = ""       ;
	private String fechaDocumento = ""         ;
	private String fechaCreacion = ""          ;
	private String horaCreacion = ""          ;
	private String fechaEnvio = ""             ;
	private String numDocumento = ""           ;
	private String nroRegDocumento = ""        ;
	private String descEstado = ""            ;
	private String flgProyecto = Constants.NO            ;
	private String flgProyectoElab = Constants.NO        ;
	private String flgArchivador = Constants.NO          ;
	private String flgGrabDoc = Constants.SI             ;
	private String codTipoDocumento = ""       ;
	private String numDestino = ""             ;
	private String siglasArea = ""             ;
	private String nombreArea = "";
	private String codEstado = ""              ;
	private String codUsuEmisor = ""           ;
	private String descTipoDocumento = ""      ;
	private String codPrioridad = ""           ;
	private String codFormaEnvio = ""          ;
	private String flgRespuesta = Constants.NO           ;
	private String fechaAviso = ""             ;
	private String observaciones = ""          ;
	private String numPlzDoc = ""              ;
	private String codPlz = ""                 ;
	private String flgAnulado = Constants.NO             ;
	private String flgAtendidoManual = Constants.NO      ;
	private String fechaAtencion = ""          ;
	private String codEstadoAtencion = ""      ;
	private String codEntidadEmisor = ""       ;
	private String empEmisor = ""              ;
	private String codEmpleadoCliente = ""     ;
	private String direccionCliente = "";
	private String referencia = ""             ;
	private String estadoRecpDest = ""         ;
	private String flgImpresion = Constants.NO           ;
	private String flgArchivado = Constants.NO           ;
	private String flgArchivadoFavorito = Constants.NO   ;
	private String flgArchivadoSerie = Constants.NO      ;
	private String numExpedienteAtencion = ""  ;
	private String nombreEmpleadoElabDoc = ""  ;
	private String codClasificacionDocu = "" ;
	private String codExpedienteBCA = Constants.VALOR_DEFAULT_CERO;
	private String numExpedienteBCA = "";
	private String descControlManual;
	private String descPrioridad;
	private String numDiasVencidos = Constants.VALOR_DEFAULT_CERO;
	
	private String aniodoc;
	private String diasVencimiento;
	
	private String nombreDocumentoPDF;
	private String rutaDocumentoPDF;
	private byte[] bytesDocumentoPDF;
	private int sizeDocAdjunto;
	
	private Long codigoExpediente;
	private String numeroExpediente;
	
	public boolean isUsrTecnico() {
		return usrTecnico;
	}
	public void setUsrTecnico(boolean usrTecnico) {
		this.usrTecnico = usrTecnico;
	}
	public String getAsunto() {
		return asunto;
	}
	public void setAsunto(String asunto) {
		this.asunto = asunto;
	}
	public String getCargoEmisor() {
		return cargoEmisor;
	}
	public void setCargoEmisor(String cargoEmisor) {
		this.cargoEmisor = cargoEmisor;
	}
	public String getCodDocumento() {
		return codDocumento;
	}
	public void setCodDocumento(String codDocumento) {
		this.codDocumento = codDocumento;
	}
	public String getCodEmpElabDoc() {
		return codEmpElabDoc;
	}
	public void setCodEmpElabDoc(String codEmpElabDoc) {
		this.codEmpElabDoc = codEmpElabDoc;
	}
	public String getCodEmpleadoCliente() {
		return codEmpleadoCliente;
	}
	public void setCodEmpleadoCliente(String codEmpleadoCliente) {
		this.codEmpleadoCliente = codEmpleadoCliente;
	}
	public String getCodEntidadEmisor() {
		return codEntidadEmisor;
	}
	public void setCodEntidadEmisor(String codEntidadEmisor) {
		this.codEntidadEmisor = codEntidadEmisor;
	}
	public String getCodEstado() {
		return codEstado;
	}
	public void setCodEstado(String codEstado) {
		this.codEstado = codEstado;
	}
	public String getCodEstadoAtencion() {
		return codEstadoAtencion;
	}
	public void setCodEstadoAtencion(String codEstadoAtencion) {
		this.codEstadoAtencion = codEstadoAtencion;
	}
	public String getCodFormaEnvio() {
		return codFormaEnvio;
	}
	public void setCodFormaEnvio(String codFormaEnvio) {
		this.codFormaEnvio = codFormaEnvio;
	}
	public String getCodMovimiento() {
		return codMovimiento;
	}
	public void setCodMovimiento(String codMovimiento) {
		this.codMovimiento = codMovimiento;
	}
	public String getCodOfiElabDoc() {
		return codOfiElabDoc;
	}
	public void setCodOfiElabDoc(String codOfiElabDoc) {
		this.codOfiElabDoc = codOfiElabDoc;
	}
	public String getCodPlz() {
		return codPlz;
	}
	public void setCodPlz(String codPlz) {
		this.codPlz = codPlz;
	}
	public String getCodPrioridad() {
		return codPrioridad;
	}
	public void setCodPrioridad(String codPrioridad) {
		this.codPrioridad = codPrioridad;
	}
	public String getCodSeguimiento() {
		return codSeguimiento;
	}
	public void setCodSeguimiento(String codSeguimiento) {
		this.codSeguimiento = codSeguimiento;
	}
	public String getCodTipoDocumento() {
		return codTipoDocumento;
	}
	public void setCodTipoDocumento(String codTipoDocumento) {
		this.codTipoDocumento = codTipoDocumento;
	}
	public String getCodUsuEmisor() {
		return codUsuEmisor;
	}
	public void setCodUsuEmisor(String codUsuEmisor) {
		this.codUsuEmisor = codUsuEmisor;
	}
	public String getDe() {
		return de;
	}
	public void setDe(String de) {
		this.de = de;
	}
	public String getDescCortaMovimiento() {
		return descCortaMovimiento;
	}
	public void setDescCortaMovimiento(String descCortaMovimiento) {
		this.descCortaMovimiento = descCortaMovimiento;
	}
	public String getDescCortaTipoDocumento() {
		return descCortaTipoDocumento;
	}
	public void setDescCortaTipoDocumento(String descCortaTipoDocumento) {
		this.descCortaTipoDocumento = descCortaTipoDocumento;
	}
	public String getDescEstado() {
		return descEstado;
	}
	public void setDescEstado(String descEstado) {
		this.descEstado = descEstado;
	}
	public String getDescMovimiento() {
		return descMovimiento;
	}
	public void setDescMovimiento(String descMovimiento) {
		this.descMovimiento = descMovimiento;
	}
	public String getDescTipoDocumento() {
		return descTipoDocumento;
	}
	public void setDescTipoDocumento(String descTipoDocumento) {
		this.descTipoDocumento = descTipoDocumento;
	}
	public String getEmpEmisor() {
		return empEmisor;
	}
	public void setEmpEmisor(String empEmisor) {
		this.empEmisor = empEmisor;
	}
	public String getEstadoRecpDest() {
		return estadoRecpDest;
	}
	public void setEstadoRecpDest(String estadoRecpDest) {
		this.estadoRecpDest = estadoRecpDest;
	}
	public String getFechaAtencion() {
		return fechaAtencion;
	}
	public void setFechaAtencion(String fechaAtencion) {
		this.fechaAtencion = fechaAtencion;
	}
	public String getFechaAviso() {
		return fechaAviso;
	}
	public void setFechaAviso(String fechaAviso) {
		this.fechaAviso = fechaAviso;
	}
	public String getFechaCreacion() {
		return fechaCreacion;
	}
	public void setFechaCreacion(String fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}
	public String getFechaDocumento() {
		return fechaDocumento;
	}
	public void setFechaDocumento(String fechaDocumento) {
		this.fechaDocumento = fechaDocumento;
	}
	public String getFechaEnvio() {
		return fechaEnvio;
	}
	public void setFechaEnvio(String fechaEnvio) {
		this.fechaEnvio = fechaEnvio;
	}
	public String getFechaVencimiento() {
		return fechaVencimiento;
	}
	public void setFechaVencimiento(String fechaVencimiento) {
		this.fechaVencimiento = fechaVencimiento;
	}
	public String getFlgAnulado() {
		return flgAnulado;
	}
	public void setFlgAnulado(String flgAnulado) {
		this.flgAnulado = flgAnulado;
	}
	public String getFlgArchivado() {
		return flgArchivado;
	}
	public void setFlgArchivado(String flgArchivado) {
		this.flgArchivado = flgArchivado;
	}
	public String getFlgArchivadoFavorito() {
		return flgArchivadoFavorito;
	}
	public void setFlgArchivadoFavorito(String flgArchivadoFavorito) {
		this.flgArchivadoFavorito = flgArchivadoFavorito;
	}
	public String getFlgArchivador() {
		return flgArchivador;
	}
	public void setFlgArchivador(String flgArchivador) {
		this.flgArchivador = flgArchivador;
	}
	public String getFlgArchivadoSerie() {
		return flgArchivadoSerie;
	}
	public void setFlgArchivadoSerie(String flgArchivadoSerie) {
		this.flgArchivadoSerie = flgArchivadoSerie;
	}
	public String getFlgAtendidoManual() {
		return flgAtendidoManual;
	}
	public void setFlgAtendidoManual(String flgAtendidoManual) {
		this.flgAtendidoManual = flgAtendidoManual;
	}
	public String getFlgGrabDoc() {
		return flgGrabDoc;
	}
	public void setFlgGrabDoc(String flgGrabDoc) {
		this.flgGrabDoc = flgGrabDoc;
	}
	public String getFlgImpresion() {
		return flgImpresion;
	}
	public void setFlgImpresion(String flgImpresion) {
		this.flgImpresion = flgImpresion;
	}
	public String getFlgProyecto() {
		return flgProyecto;
	}
	public void setFlgProyecto(String flgProyecto) {
		this.flgProyecto = flgProyecto;
	}
	public String getFlgProyectoElab() {
		return flgProyectoElab;
	}
	public void setFlgProyectoElab(String flgProyectoElab) {
		this.flgProyectoElab = flgProyectoElab;
	}
	public String getFlgRespuesta() {
		return flgRespuesta;
	}
	public void setFlgRespuesta(String flgRespuesta) {
		this.flgRespuesta = flgRespuesta;
	}
	public String getIndiceDocumento() {
		return indiceDocumento;
	}
	public void setIndiceDocumento(String indiceDocumento) {
		this.indiceDocumento = indiceDocumento;
	}
	public String getNombreEmpresa() {
		return nombreEmpresa;
	}
	public void setNombreEmpresa(String nombreEmpresa) {
		this.nombreEmpresa = nombreEmpresa;
	}
	public String getNroRegDocumento() {
		return nroRegDocumento;
	}
	public void setNroRegDocumento(String nroRegDocumento) {
		this.nroRegDocumento = nroRegDocumento;
	}
	public String getNumDestino() {
		return numDestino;
	}
	public void setNumDestino(String numDestino) {
		this.numDestino = numDestino;
	}
	public String getNumDocumento() {
		return numDocumento;
	}
	public void setNumDocumento(String numDocumento) {
		this.numDocumento = numDocumento;
	}
	public String getNumExpedienteAtencion() {
		return numExpedienteAtencion;
	}
	public void setNumExpedienteAtencion(String numExpedienteAtencion) {
		this.numExpedienteAtencion = numExpedienteAtencion;
	}
	public String getNumPlzDoc() {
		return numPlzDoc;
	}
	public void setNumPlzDoc(String numPlzDoc) {
		this.numPlzDoc = numPlzDoc;
	}
	public String getObservaciones() {
		return observaciones;
	}
	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}
	public String getPara() {
		return para;
	}
	public void setPara(String para) {
		this.para = para;
	}
	public String getReferencia() {
		return referencia;
	}
	public void setReferencia(String referencia) {
		this.referencia = referencia;
	}
	public String getSiglasArea() {
		return siglasArea;
	}
	public void setSiglasArea(String siglasArea) {
		this.siglasArea = siglasArea;
	}
	
	/**/
	public String getDescCortaMovimientoEnlace() {
		if(flgGrabDoc.equals("N")){
			if(codMovimiento.equals(Constants.TIPO_MOVIMIENTO_SALIDA)){
				if(usrTecnico){
					return descCortaMovimiento + " - " + numDestino;
				}
				else{
					return "<A href='DownloadDocContenido.do?method=downloadDocumento&DocId="+codDocumento+"&SegId="+codSeguimiento+"&ReempCamposEspeciales=Si&DestNro=&aniodoc="+aniodoc+"'>"+descCortaMovimiento + " - " + numDestino+"</A>";
				}
			}
			else{
				return "<A href='DownloadDocContenido.do?method=downloadDocumento&DocId="+codDocumento+"&SegId="+codSeguimiento+"&ReempCamposEspeciales=Si&DestNro=&aniodoc="+aniodoc+"'>"+descCortaMovimiento+"</A>";
			}
		}
		else{
			return descCortaMovimiento;
		}
	}
	
	public String getNumDocumentoEnlace() {
		if(usrTecnico){
//			return numDocumento;
			return "<A href='javascript:editarDocumento("+indiceDocumento+")'>"+numDocumento+"</A>";
		}
		else{
			return "<A href='javascript:editarDocumento("+indiceDocumento+")'>"+numDocumento+"</A>";
		}
	}
	
	public String getHojaRutaEnlace() {
		if(codMovimiento.equals(Constants.TIPO_MOVIMIENTO_SALIDA)){
			return "<A href='javascript:verHojaDestino("+indiceDocumento+")'>Ver</A>";
		}
		else{
			return "<A href='javascript:verHojaRuta("+indiceDocumento+")'>Ver</A>";
		}
	}
	
	public String getVerSeguimientoEnlace() {
		String link = "<A href='javascript:verSeguimiento("+indiceDocumento+","+codDocumento+")'>Ver</A>";
		return link;
	}
	
	public String getVerSeguimientoEnlaceLectura() {
		String link = "<A href='javascript:verSeguimientoLectura("+indiceDocumento+","+codDocumento+")'>Ver</A>";
		return link;
	}
	/**/
	public ArrayList getLstDestinoDocumento() {
		return lstDestinoDocumento;
	}
	public void setLstDestinoDocumento(ArrayList lstDestinoDocumento) {
		this.lstDestinoDocumento = lstDestinoDocumento;
	}
	public ArrayList getLstOrigenDocumento() {
		return lstOrigenDocumento;
	}
	public void setLstOrigenDocumento(ArrayList lstOrigenDocumento) {
		this.lstOrigenDocumento = lstOrigenDocumento;
	}
	public String getHoraCreacion() {
		return horaCreacion;
	}
	public void setHoraCreacion(String horaCreacion) {
		this.horaCreacion = horaCreacion;
	}
	public String getNombreEmpleadoElabDoc() {
		return nombreEmpleadoElabDoc;
	}
	public void setNombreEmpleadoElabDoc(String nombreEmpleadoElabDoc) {
		this.nombreEmpleadoElabDoc = nombreEmpleadoElabDoc;
	}
	public String getAniodoc() {
		return aniodoc;
	}
	public void setAniodoc(String aniodoc) {
		this.aniodoc = aniodoc;
	}
	public ArrayList getLstDocumentosAdjuntos() {
		return lstDocumentosAdjuntos;
	}
	public void setLstDocumentosAdjuntos(ArrayList lstDocumentosAdjuntos) {
		this.lstDocumentosAdjuntos = lstDocumentosAdjuntos;
	}
	public ArrayList getLstDocumentosVinculados() {
		return lstDocumentosVinculados;
	}
	public void setLstDocumentosVinculados(ArrayList lstDocumentosVinculados) {
		this.lstDocumentosVinculados = lstDocumentosVinculados;
	}
	public ArrayList getLstDestinosEliminados() {
		return lstDestinosEliminados;
	}
	public void setLstDestinosEliminados(ArrayList lstDestinosEliminados) {
		this.lstDestinosEliminados = lstDestinosEliminados;
	}
	public String getCodClasificacionDocu() {
		return codClasificacionDocu;
	}
	public void setCodClasificacionDocu(String codClasificacionDocu) {
		this.codClasificacionDocu = codClasificacionDocu;
	}
	public String getCodExpedienteBCA() {
		return codExpedienteBCA;
	}
	public void setCodExpedienteBCA(String codExpedienteBCA) {
		this.codExpedienteBCA = codExpedienteBCA;
	}
	public String getNumExpedienteBCA() {
		return numExpedienteBCA;
	}
	public void setNumExpedienteBCA(String numExpedienteBCA) {
		this.numExpedienteBCA = numExpedienteBCA;
	}
	public String getDireccionCliente() {
		return direccionCliente;
	}
	public void setDireccionCliente(String direccionCliente) {
		this.direccionCliente = direccionCliente;
	}
	public String getNombreArea() {
		return nombreArea;
	}
	public void setNombreArea(String nombreArea) {
		this.nombreArea = nombreArea;
	}
	public String getDiasVencimiento() {
		return diasVencimiento;
	}
	public void setDiasVencimiento(String diasVencimiento) {
		this.diasVencimiento = diasVencimiento;
	}
	public String getDescControlManual() {
		return descControlManual;
	}
	public void setDescControlManual(String descControlManual) {
		this.descControlManual = descControlManual;
	}
	public String getDescPrioridad() {
		return descPrioridad;
	}
	public void setDescPrioridad(String descPrioridad) {
		this.descPrioridad = descPrioridad;
	}
	public String getNumDiasVencidos() {
		return numDiasVencidos;
	}
	public void setNumDiasVencidos(String numDiasVencidos) {
		this.numDiasVencidos = numDiasVencidos;
	}
	public String getNombreDocumentoPDF() {
		return nombreDocumentoPDF;
	}
	public void setNombreDocumentoPDF(String nombreDocumentoPDF) {
		this.nombreDocumentoPDF = nombreDocumentoPDF;
	}
	public String getRutaDocumentoPDF() {
		return rutaDocumentoPDF;
	}
	public void setRutaDocumentoPDF(String rutaDocumentoPDF) {
		this.rutaDocumentoPDF = rutaDocumentoPDF;
	}
	public byte[] getBytesDocumentoPDF() {
		return bytesDocumentoPDF;
	}
	public void setBytesDocumentoPDF(byte[] bytesDocumentoPDF) {
		this.bytesDocumentoPDF = bytesDocumentoPDF;
	}
	public int getSizeDocAdjunto() {
		return sizeDocAdjunto;
	}
	public void setSizeDocAdjunto(int sizeDocAdjunto) {
		this.sizeDocAdjunto = sizeDocAdjunto;
	}
	public Long getCodigoExpediente() {
		return codigoExpediente;
	}
	public void setCodigoExpediente(Long codigoExpediente) {
		this.codigoExpediente = codigoExpediente;
	}
	public String getNumeroExpediente() {
		return numeroExpediente;
	}
	public void setNumeroExpediente(String numeroExpediente) {
		this.numeroExpediente = numeroExpediente;
	}
}
